package com.google.code.gronono.commons.swing.listeners;

import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;

/**
 * Classe abstraite évitant de définir plusieurs fois la même méthode lors de l'implémentation de {@link DocumentListener}.
 *
 * @author Arnaud BRUNET
 */
public abstract class ModifyListener implements DocumentListener {

	/*
	 * (non-Javadoc)
	 * @see javax.swing.event.DocumentListener#changedUpdate(javax.swing.event.DocumentEvent)
	 */
	public void changedUpdate(final DocumentEvent e) {
		modify(e);
	}

	/*
	 * (non-Javadoc)
	 * @see javax.swing.event.DocumentListener#insertUpdate(javax.swing.event.DocumentEvent)
	 */
	public void insertUpdate(final DocumentEvent e) {
		modify(e);
	}

	/*
	 * (non-Javadoc)
	 * @see javax.swing.event.DocumentListener#removeUpdate(javax.swing.event.DocumentEvent)
	 */
	public void removeUpdate(final DocumentEvent e) {
		modify(e);
	}

	/**
	 * Méthode déclenchée lors qu'un évènement se produit sur le document.
	 * @param event L'évènement.
	 */
	public abstract void modify(DocumentEvent event);

}
